﻿//#include <iostream>
//#include <vector>
//#include <tuple>
//#include <array>
//
//
//// ⽰例1: 标准库容器的⾃动推导 
//void containerDeduction() {
//	// C++17之前需要指定模板参数 
//	std::vector<int> v1 = { 1, 2, 3 };
//	// C++17可以⾃动推导 
//	std::vector v2 = { 4, 5, 6 }; // 推导为vector<int> 
//	std::vector v3{ "hello", "world" }; // 推导为vector<const char*> 
//	std::vector v4(10, 1);
//	std::vector v5(v1.begin(), v1.end());
//	// std::vector v6; // 报错 
//	std::cout << typeid(v2).name() << std::endl;
//	std::cout << typeid(v3).name() << std::endl;
//	std::cout << typeid(v4).name() << std::endl;
//	std::cout << typeid(v5).name() << std::endl;
//	// std::cout << typeid(v6).name() << std::endl;
//	// 类似地适⽤于其他容器 
//	std::array a = { 1, 2, 3 }; // 推导为array<int, 3> 
//	std::pair p(1, 2.0); // 推导为pair<int, double> 
//	std::tuple t(1, 2.0, "three"); // 推导为tuple<int, double, const char*> 
//	std::cout << "v2 size: " << v2.size() << std::endl;
//	std::cout << "a size: " << a.size() << std::endl;
//	std::cout << "p first: " << p.first << ", second: " << p.second <<
//		std::endl;
//}
//int main() {
//	containerDeduction();
//	return 0;
//}
